Autonomous vehicles use various computing systems to aid in the transport of passengers from one location to another. Some autonomous vehicles may require an initial input or continuous input from an operator, such as a pilot, driver, or passenger. Other autonomous systems, for example autopilot systems, may be used only when the system has been engaged, which permits the operator to switch from a manual mode (where the operator exercises a high degree of control over the movement of the vehicle) to an autonomous mode (where the vehicle essentially drives itself) to modes that lie somewhere in between.
Such vehicles are typically equipped with various types of sensors in order to detect objects in the surroundings. For example, autonomous vehicles may include lasers, sonar, radar, cameras, and other devices which scan and record data from the vehicle's surroundings. Sensor data from one or more of these devices may be used to detect objects and their respective characteristics (position, shape, heading, speed, etc.). This detection and identification is a critical function for the safe operation of autonomous vehicle.
Autonomous vehicles may also use a detailed map of the world to determine their position. These maps are typically generated from sensor data collected in the field. Because the raw sensor data is so large it may require a significant amount of bandwidth to transmit it to a central computer system in real time. Thus, this information is typically stored after collection and subsequently uploaded to a central computer system in order to generate the detailed map. Thus, these detailed maps are generated at a later time. In some examples, this may require that the raw sensor data be processed twice; initially by the vehicle's computer and subsequently by the map generation system. As processing the raw sensor data can be expensive in terms of time and resources duplication of this processing may be especially inefficient.